attribute vec3 aVertexPosition;
attribute vec3 aVertexNorm;
attribute vec2 aTextureCoord;

uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;
uniform mat4 uNMatrix;

varying vec2 vTextureCoord;
varying vec4 vCameraSpacePos;
varying vec4 vCameraSpaceNorm;

void main(void) {
    vCameraSpacePos = uMVMatrix * vec4(aVertexPosition, 1.0);
    gl_Position = uPMatrix * vCameraSpacePos;
    vCameraSpaceNorm = uNMatrix * vec4(aVertexNorm, 0.0);
    vTextureCoord = aTextureCoord;
}

